def merge_files_by_timestamp(file1_path, file2_path, output_path):
    with open(file1_path, 'r', encoding='utf-8-sig') as file1, open(file2_path, 'r',
                                                                    encoding='utf-8-sig') as file2, open(output_path,
                                                                                                         'w',
                                                                                                         encoding='utf-8') as output:
        lines1 = file1.readlines()
        lines2 = file2.readlines()

        # 存储已写入文件的时间戳（转换为字符串格式以便比较）
        written_timestamps = set()

        # 合并两个文件的行
        for lines in (lines1, lines2):
            for i in range(0, len(lines) - 1, 2):  # 修改这里的步长和结束条件
                # 确保i+1不会超出范围
                timestamp = parse_timestamp(lines[i].strip())
                timestamp_str = timestamp.strftime('%Y-%m-%d')
                if timestamp_str not in written_timestamps:
                    output.write(lines[i].strip() + '\n')  # 写入时间戳和描述信息行
                    # 只有在i+1存在时才写入下一行
                    if i + 1 < len(lines):
                        output.write(lines[i + 1])  # 写入具体的描述内容行（包含换行符）
                    written_timestamps.add(timestamp_str)

                    # 如果列表中的元素个数是奇数，那么最后一行将是一个时间戳行，没有对应的描述行
                # 在这种情况下，我们可能想要忽略它，或者添加额外的逻辑来处理它
                if i == len(lines) - 2:  # 最后一个时间戳行（如果有）
                    # 你可以选择写入这个时间戳行（但没有描述行）或者忽略它
                    # 这里我们选择忽略它
                    pass

                # 使用函数

                    # 使用函数



merge_files_by_timestamp('E:\project\learn\Python\测试工作用脚本\play.txt',
                         'E:\project\learn\Python\测试工作用脚本\《剧本》.txt',
                         'E:\project\learn\Python\测试工作用脚本\合并文件.txt')
